<?php

/**
 * Controller is the customized base controller class.
 * All controller classes for this application should extend from this base class.
 */
abstract class AdminController extends CController {

    /**
     * @var string the default layout for the controller view. Defaults to '//layouts/column1',
     * meaning using a single column layout. See 'protected/views/layouts/column1.php'.
     */
    public $layout = 'main';

    /**
     * @var array context menu items. This property will be assigned to {@link CMenu::items}.
     */
    public $menu = array();

    /**
     * @var array the breadcrumbs of the current page. The value of this property will
     * be assigned to {@link CBreadcrumbs::links}. Please refer to {@link CBreadcrumbs::links}
     * for more details on how to specify this property.
     */
    public $breadcrumbs = array();

    public function isExceptAction() {
        return preg_match('/main\/login|main\/logout|main\/captcha/i', strtolower($this->getRoute()));
    }

    protected function beforeAction($action) {

        /**
         * neu la Guest va truy cap vao url khac thi redirect den trang login
         */
        if (!$this->isExceptAction() && Yii::app()->admin->isGuest) {

            $this->redirect(array('main/login'));
            return false;
        }
        
        /**
         * neu khong phai la link except
         */
        if (!$this->isExceptAction() && (Yii::app()->admin->getState('area')!==Yii::app()->params['area']['admincp'])) {
            
            $this->redirect(array('main/login'));
            return;
        }
        return true;
    }
}